<?php
/**
 * 实现二分查找
 */
// 数组必须是有序的
$arr = [23,45,60,65,70,77,232,233,300,310,321,333,350,400,450,500,550];

$target = $argv[1];

$n = count($arr);

// 定义起始位置
$start = 0;
// 定义结束位置
$end = $n - 1;

// 查找结果，-1表示不存在查找的元素
$result = -1;

// 终点与起点相差大于1，执行循环
while ($start <= $end) {
 $mid = round(($end - $start) / 2 + $start);
 if ($arr[$mid] == $target) {
    $result = $mid;
    break;
 }
 elseif ($arr[$mid] > $target) {
    $end = $mid - 1;
 }
 else {
    $start = $mid + 1;
 }
}
echo '要查找的元素位置:' . $result . PHP_EOL;





